package com.up.management.mapper;

import com.up.management.domain.entity.Event;

import java.util.List;

/**
 * 活动管理Mapper接口
 * 
 * @author cloud
 * @date 2025-10-09
 */
public interface EventMapper 
{
    /** 详情联表查询 */
    public com.up.management.domain.vo.EventDetailVO selectEventDetailById(Long id);

    /** 插入活动详情 */
    public int insertEventDetail(@org.apache.ibatis.annotations.Param("eventId") Long eventId,
                                 @org.apache.ibatis.annotations.Param("description") String description,
                                 @org.apache.ibatis.annotations.Param("images") String images,
                                 @org.apache.ibatis.annotations.Param("videos") String videos,
                                 @org.apache.ibatis.annotations.Param("createdAt") java.util.Date createdAt,
                                 @org.apache.ibatis.annotations.Param("updatedAt") java.util.Date updatedAt);

    /** 根据 event_id 删除详情（用于覆盖更新） */
    public int deleteEventDetailByEventId(@org.apache.ibatis.annotations.Param("eventId") Long eventId);

    /**
     * 查询活动管理
     * 
     * @param id 活动管理主键
     * @return 活动管理
     */
    public Event selectEventById(Long id);

    /**
     * 查询活动管理列表
     * 
     * @param event 活动管理
     * @return 活动管理集合
     */
    public List<Event> selectEventList(Event event);

    /**
     * 新增活动管理
     * 
     * @param event 活动管理
     * @return 结果
     */
    public int insertEvent(Event event);

    /**
     * 修改活动管理
     * 
     * @param event 活动管理
     * @return 结果
     */
    public int updateEvent(Event event);

    /**
     * 删除活动管理
     * 
     * @param id 活动管理主键
     * @return 结果
     */
    public int deleteEventById(Long id);

    /**
     * 批量删除活动管理
     * 
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteEventByIds(Long[] ids);
}
